package com.hzy.admin.models.vo.system;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;

import java.util.List;

/**
 * 返回分页表数据
 *
 * @param <T>
 * @author hzy
 */
@Data
public class TableVo<T> {
    private long page;
    private long size;
    private long total;
    private List<T> dataSource;
    private IPage<T> iPage;

    @JsonIgnore
    public IPage<T> getIPage() {
        return iPage;
    }

    public static <T> TableVo<T> page(IPage<T> iPage, List<T> data) {
        TableVo<T> tableVo = new TableVo<>();
        tableVo.iPage = iPage;
        tableVo.setPage(iPage.getCurrent());
        tableVo.setSize(iPage.getSize());
        tableVo.setTotal(iPage.getTotal());
        tableVo.setDataSource(data);
        return tableVo;
    }
}
